//
//  UIImage+Scale.swift
//  01.照片选择器
//
//  Created by Apple on 15/12/30.
//  Copyright © 2015年 Apple. All rights reserved.
//

import UIKit

extension UIImage {
    
    /**
     将图片等比例缩小的宽度等于300
     
     - returns: 缩放后的图片
     */
    func sacleImage() -> UIImage {
        let newWidth: CGFloat = 300
        // 如果图片原始的宽度小于300直接返回这张图片
        if self.size.width < newWidth {
            return self
        }
        
        // 图片宽度大于300,需要等比例缩放
        // 缩放后的高度 / 缩放后的宽度 = 缩放前的高度 / 缩放前的宽度
        // newHeight / newWidth = 缩放前的高度 / 缩放前的宽度
        // newHeight = newWidth * 缩放前的高度 / 缩放前的宽度
        let newHeight = newWidth * size.height / size.width
        
        // 缩放后的尺寸
        let newSize = CGSize(width: newWidth, height: newHeight)
        
        // 将图片缩放到newSize大小
        
        // 开启上image下文来画图
        UIGraphicsBeginImageContext(newSize)
        
        // 将图片画到上下文里面
        drawInRect(CGRect(origin: CGPointZero, size: newSize))
        
        // 获取绘制好的图片
        let newImage = UIGraphicsGetImageFromCurrentImageContext()
        
        // 关闭上下文
        UIGraphicsEndImageContext()
        
        // 返回图片
        return newImage
    }
}
